﻿using System;
namespace Kis.Xroad.Eu {
    
    
    [System.SerializableAttribute()]
    public partial class ConstructorTestExtension : global::Kis.Xroad.Eu.XsdMinOccursMaxOccursComplexTypes {
        
        private global::Kis.Xroad.Eu.PositiveCelcius @__cT2Prop;
        
        private global::Kis.Xroad.Eu.PositiveCelcius @__cT2Prop1;
        
        private global::Kis.Xroad.Eu.PositiveCelcius @__cT2Prop2;
        
        private global::Kis.Xroad.Eu.PositiveCelcius @__cT2Prop3;
        
        public ConstructorTestExtension() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public ConstructorTestExtension(global::Kis.Xroad.Eu.PositiveCelcius @cT2Prop, global::Kis.Xroad.Eu.PositiveCelcius @cT2Prop1, global::Kis.Xroad.Eu.PositiveCelcius @cT2Prop2, global::Kis.Xroad.Eu.PositiveCelcius @cT2Prop3, System.Collections.Generic.List<global::Kis.Xroad.Eu.Sequence> @aMin1MazUnboundedNil, System.Collections.Generic.List<global::Kis.Xroad.Eu.Sequence> @aMin1MazUnboundedNonNil, System.Collections.Generic.List<global::Kis.Xroad.Eu.Sequence> @bMin0MazUnboundedNonNil, System.Collections.Generic.List<global::Kis.Xroad.Eu.Sequence> @bMin0MazUnboundedNil, global::Kis.Xroad.Eu.Sequence @cMin0Maz1Nil, global::Kis.Xroad.Eu.Sequence @cMin0Maz1NonNil, global::Kis.Xroad.Eu.Sequence @dMin1Maz1Nil, global::Kis.Xroad.Eu.Sequence @dMin1Maz1NonNil) : 
                base(@aMin1MazUnboundedNil, @aMin1MazUnboundedNonNil, @bMin0MazUnboundedNonNil, @bMin0MazUnboundedNil, @cMin0Maz1Nil, @cMin0Maz1NonNil, @dMin1Maz1Nil, @dMin1Maz1NonNil) {
            this.@__cT2Prop = @cT2Prop;
            this.@__cT2Prop1 = @cT2Prop1;
            this.@__cT2Prop2 = @cT2Prop2;
            this.@__cT2Prop3 = @cT2Prop3;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public ConstructorTestExtension(global::Kis.Xroad.Eu.PositiveCelcius @cT2Prop2, System.Collections.Generic.List<global::Kis.Xroad.Eu.Sequence> @aMin1MazUnboundedNonNil, global::Kis.Xroad.Eu.Sequence @dMin1Maz1NonNil) : 
                base(@aMin1MazUnboundedNonNil, @dMin1Maz1NonNil) {
            this.@__cT2Prop2 = @cT2Prop2;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected ConstructorTestExtension(ConstructorTestExtension @constructorTestExtension) : 
                base(@constructorTestExtension.AMin1MazUnboundedNil, @constructorTestExtension.AMin1MazUnboundedNonNil, @constructorTestExtension.BMin0MazUnboundedNonNil, @constructorTestExtension.BMin0MazUnboundedNil, @constructorTestExtension.CMin0Maz1Nil, @constructorTestExtension.CMin0Maz1NonNil, @constructorTestExtension.DMin1Maz1Nil, @constructorTestExtension.DMin1Maz1NonNil) {
            this.@__cT2Prop = @constructorTestExtension.CT2Prop;
            this.@__cT2Prop1 = @constructorTestExtension.CT2Prop1;
            this.@__cT2Prop2 = @constructorTestExtension.CT2Prop2;
            this.@__cT2Prop3 = @constructorTestExtension.CT2Prop3;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        public ConstructorTestExtension(XsdMinOccursMaxOccursComplexTypes @xsdMinOccursMaxOccursComplexTypes) : 
                base(@xsdMinOccursMaxOccursComplexTypes) {
        }
        
        public virtual global::Kis.Xroad.Eu.PositiveCelcius CT2Prop {
            get {
                return this.@__cT2Prop;
            }
            set {
                this.@__cT2Prop = value;
            }
        }
        
        public virtual global::Kis.Xroad.Eu.PositiveCelcius CT2Prop1 {
            get {
                return this.@__cT2Prop1;
            }
            set {
                this.@__cT2Prop1 = value;
            }
        }
        
        public virtual global::Kis.Xroad.Eu.PositiveCelcius CT2Prop2 {
            get {
                return this.@__cT2Prop2;
            }
            set {
                this.@__cT2Prop2 = value;
            }
        }
        
        public virtual global::Kis.Xroad.Eu.PositiveCelcius CT2Prop3 {
            get {
                return this.@__cT2Prop3;
            }
            set {
                this.@__cT2Prop3 = value;
            }
        }
    }
}
